x86/hvm: Use UNLIKELY_{START,END} in a few suitable places in asm.
authorKeir Fraser <keir@xen.org>
Thu, 12 May 2011 08:33:59 +0000 (09:33 +0100)
committerKeir Fraser <keir@xen.org>
Thu, 12 May 2011 08:33:59 +0000 (09:33 +0100)
Signed-off-by: Keir Fraser <keir@xen.org>
xen/arch/x86/hvm/svm/entry.S
xen/arch/x86/hvm/vmx/entry.S

index 8ccb2e5dbb8b285f8f26182267040c67cad1cf87..7458664fd024efd373c7b157071f6b76d487cb79 100644 (file)
@@ -66,20 +66,20 @@ ENTRY(svm_asm_do_resume)
         jnz  .Lsvm_process_softirqs
 
         testb $0, VCPU_nsvm_hap_enabled(r(bx))
-        jz  .Lsvm_asid_handle
-        
+UNLIKELY_START(nz, nsvm_hap)
         mov  VCPU_nhvm_p2m(r(bx)),r(ax)
         test r(ax),r(ax)
         sete %al
         andb VCPU_nhvm_guestmode(r(bx)),%al
         jnz  .Lsvm_nsvm_no_p2m
+UNLIKELY_END(nsvm_hap)
 
-.Lsvm_asid_handle:
         call svm_asid_handle_vmrun
 
         cmpb $0,addr_of(tb_init_done)
-        jnz  .Lsvm_trace
-.Lsvm_trace_done:
+UNLIKELY_START(nz, svm_trace)
+        call svm_trace_vmentry
+UNLIKELY_END(svm_trace)
 
         mov  VCPU_svm_vmcb(r(bx)),r(cx)
         mov  UREGS_rax(r(sp)),r(ax)
@@ -181,10 +181,6 @@ svm_stgi_label:
         call do_softirq
         jmp  svm_asm_do_resume
 
-.Lsvm_trace:
-        call svm_trace_vmentry
-        jmp  .Lsvm_trace_done
-
 .Lsvm_nsvm_no_p2m:
         /* Someone shot down our nested p2m table; go round again
          * and nsvm_vcpu_switch() will fix it for us. */
index fd7d6a6c90e874529e0038119b3719c973cbae0d..aec05b28e5c182fca554b0d30290477a063a9de0 100644 (file)
@@ -132,12 +132,12 @@ vmx_asm_do_vmentry:
         testb $0xff,VCPU_vmx_emulate(r(bx))
         jnz .Lvmx_goto_emulator
         testb $0xff,VCPU_vmx_realmode(r(bx))
-        jz .Lvmx_not_realmode
+UNLIKELY_START(nz, realmode)
         cmpw $0,VCPU_vm86_seg_mask(r(bx))
         jnz .Lvmx_goto_emulator
         call_with_regs(vmx_enter_realmode) 
+UNLIKELY_END(realmode)
 
-.Lvmx_not_realmode:
         call vmx_vmenter_helper
         mov  VCPU_hvm_guest_cr2(r(bx)),r(ax)
         mov  r(ax),%cr2